home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / src / lib / c / list / RCS / List_ListInsert.c,v < prev    next >
Text File  |  1990-11-27  |  3KB  |  107 lines

  1. head     1.2;
  2. branch   ;
  3. access   ;
  4. symbols  ;
  5. locks    ; strict;
  6. comment  @ * @;
  7.  
  8.  
  9. 1.2
  10. date     90.11.27.11.06.35;  author ouster;  state Exp;
  11. branches ;
  12. next     1.1;
  13.  
  14. 1.1
  15. date     89.06.12.16.59.31;  author shirriff;  state Exp;
  16. branches ;
  17. next     ;
  18.  
  19.  
  20. desc
  21. @Initial entry.
  22. @
  23.  
  24.  
  25. 1.2
  26. log
  27. @Eliminated inclusion of <sys.h> (didn't work for user programs
  28. anyway), add explicit declaration for panic.
  29. @
  30. text
  31. @/* 
  32.  * List_ListInsert.c --
  33.  *
  34.  *    Source code for the List_ListInsert library procedure.
  35.  *
  36.  * Copyright 1988 Regents of the University of California
  37.  * Permission to use, copy, modify, and distribute this
  38.  * software and its documentation for any purpose and without
  39.  * fee is hereby granted, provided that the above copyright
  40.  * notice appear in all copies.  The University of California
  41.  * makes no representations about the suitability of this
  42.  * software for any purpose.  It is provided "as is" without
  43.  * express or implied warranty.
  44.  */
  45.  
  46. #ifndef lint
  47. static char rcsid[] = "$Header: /sprite/src/lib/c/list/RCS/List_ListInsert.c,v 1.1 89/06/12 16:59:31 shirriff Exp Locker: ouster $ SPRITE (Berkeley)";
  48. #endif not lint
  49.  
  50. #include <stdio.h>
  51. #include "list.h"
  52.  
  53. extern void panic();
  54.  
  55. /*
  56.  * ----------------------------------------------------------------------------
  57.  *
  58.  * List_ListInsert --
  59.  *
  60.  *    Insert the list pointed to by headerPtr into a List after 
  61.  *    destPtr.
  62.  *
  63.  * Results:
  64.  *    None.
  65.  *
  66.  * Side effects:
  67.  *    The list containing destPtr is modified to contain itemPtr.
  68.  *    headerPtr no longer references a valid list.
  69.  *
  70.  * ----------------------------------------------------------------------------
  71.  */
  72. void
  73. List_ListInsert(headerPtr, destPtr)
  74.     register    List_Links *headerPtr;    /* structure to insert */
  75.     register    List_Links *destPtr;    /* structure after which to insert it */
  76. {
  77.     if (headerPtr == (List_Links *) NIL || destPtr == (List_Links *) NIL
  78.         || !headerPtr || !destPtr) {
  79.     panic("List_ListInsert: headerPtr (%x) or destPtr (%x) is NIL.\n",
  80.           (unsigned int) headerPtr, (unsigned int) destPtr);
  81.     return;
  82.     }
  83.  
  84.     if (headerPtr->nextPtr != headerPtr) {
  85.     headerPtr->prevPtr->nextPtr = destPtr->nextPtr;
  86.     headerPtr->nextPtr->prevPtr = destPtr;
  87.     destPtr->nextPtr->prevPtr = headerPtr->prevPtr;
  88.     destPtr->nextPtr = headerPtr->nextPtr;
  89.     }
  90.  
  91.     headerPtr->nextPtr = (List_Links *) NIL;
  92.     headerPtr->prevPtr = (List_Links *) NIL;
  93. }
  94. @
  95.  
  96.  
  97. 1.1
  98. log
  99. @Initial revision
  100. @
  101. text
  102. @d17 1
  103. a17 1
  104. static char rcsid[] = "$Header: List_ListInsert.c,v 1.3 88/07/16 14:44:18 ouster Exp $ SPRITE (Berkeley)";
  105. d22 2
  106. @
  107.